/***************************************************************************//**
 * @file camera_array_depth.h
 * @brief Header file for camera array depth
 *
 * @authors Brian Fehrman and Scott Logan
 * 
 * @date April 17 2013
 ******************************************************************************/

#ifndef _CAMERA_ARRAY_DEPTH_H_
#define _CAMERA_ARRAY_DEPTH_H_

#include <opencv2/core/core.hpp>
#include <opencv2/calib3d/calib3d.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <sstream>
#include <iostream>
#include <vector>
#include <sys/stat.h>
#include <time.h>
#include <iomanip>

void compute_array_depth( FileNode fs );
void combine_depth_maps( vector< Mat > matches, vector< Mat > diff_mats, Mat& average_depth, int select_method );
void compute_diff_mat( Mat matches, Mat& diff_mat, bool x_change, bool y_change );
void generate_color_maps( vector< Mat > diff_mats, Mat& average_depth, float base_line, float f_pixels, int max_search, string output_dir, const int pixel_radius );

#endif
